package qc.module.ehs.dto.task;

/**
 * 创建/新建任务DTO；可以在创建时指定执行目标对象集合（目标对象可以是单元、危险源或设备设施）；
 * 不管任务是否已经派单，均可以对任务的信息进行修改；只对任务信息表中的信息进行修改，不对任务分组进行修改；如果对任务的执行时间和频次进行修改，对任务项表中已在执行中的不进行修改，对任务项表中尚未派单的进行删除后重新进行添加；
 *
 * @author QuCheng Tech
 * @since 2024/11/13
 */
@lombok.Data
public class TaskAddOrEditDto {

    /**
     * 任务ID；新增时保持为空，修改时必须传入
     */
    private String taskid;

    /**
     * 所属组织代码
     */
    private String orgcode;

    /**
     * 任务标题
     */
    private String tasktitle;

    /**
     * 任务内容;内容、时间、完成情况及要求说明文字
     */
    private String taskcontent;

    /**
     * 任务附件
     */
    private String taskattachment;

    /**
     * 任务分类名称；安全检查、设备保养、隐患治理、作业活动
     */
    private String catname;

    /**
     * 任务大类
     */
    private int tasktype;

    /**
     * 任务目标对象类型;枚举EhsTaskRelateObjectTypeEnum
     */
    private int objtype;

    /**
     * 任务目标对象是否非空
     */
    private boolean notnull;

    /**
     * 是否需填写检查表
     */
    private boolean needchecktable;

    /**
     * 检查表ID集合
     */
    private String[] checktableids;

    /**
     * 是否必须现场签到
     */
    private boolean needsignin;

    /**
     * 执行结果是否需确认
     */
    private boolean needconfirm;

    /**
     * 计划开始时间
     */
    private String planbegintm;

    /**
     * 计划截止时间
     */
    private String planendtm;

    /**
     * 计划执行周期类型;枚举TimeRangeLengthEnum
     */
    private int planfrequencytype;

    /**
     * 每个周期内计划执行次数
     */
    private int planfrequencycount;

    /**
     * 计划执行总次数;所有目标对象的计划执行次数之和
     */
    private int plantotalcount;

    /**
     * 任务分组指定的对象类型；单元、危险源、设备设施
     */
    private int groupobjtype;

    /**
     * 任务分组对象ID
     */
    private String[] groupobjids;
} 
